WebDAVサーバーを作ろう
次世代のFTPサーバー技術だ

今までファイアウオールに阻まれてアクセスできなかった環境からも、アクセス可能。
一言でいえば、ファイルの書き込み、変更が可能なWebサーバー。
WebDAVはエクスプローラーなどのWebアプリを使ってアクセスするやり方と違う方法、つまりサーバーへ直接接続でアクセスする IDiskも同じWebDAVサーバーである。
80番ポートを使用。
とりあえずWebDAVサーバーを作る(最も簡単な方法)
この方法はユーザー認証の仕組みが省かれているのでパスワードなしでアクセスできる。 インターネットに公開するのは危険。重要なデータ類はこの設定では絶対に扱わない様に。
まずApacheの設定ファイルを変更する。
このApacheの設定ファイルは見えない場所におかれているので、Finderから移動→フォルダへ移動を選び

下のように/etc/httpd と入力。


そのフォルダにある httppd.conf ファイルをディスクトップへドラッグしてコピーする。


そのコピーしたhttppd.confファイルをテキストエディットで開く(上の状態) 上図の赤下ラインの所を修正 #LoadModule dav_module libexec/httpd/libdav.so と  #AddModule mod_dav.c を見つけて先頭の#を消す。 このようになります。(#をはずしただけ) LoadModule dav_module libexec/httpd/libdav.so AddModule mod_dav.c
次ぎに共有ディレクトリの設定を追加
まず下準備としてWebDAVサーバーのフォルダをどこに置くか決定する。


上図のようにMacOSXWebサーバーのドキュメントフォルダ(ライブラリ→WebServerDocumentsServer1)に open-davclose-dav という名前のフォルダを置く前提での作業になります。
一番最初は、Documentsフォルダの中にアパッチの初期データがあります。(不要ですので削除しておきましょう) (フォルダの作り方は好きな様に作ってよい,私の場合open-davclose-dav2つ作ったのは、テストのためopen-davの方をパスワードなしでアクセス出来るフォルダ、close-davの方をパスワードを入力してアクセス出来る様にする為のフォルダとしました。もちろん1つだけでも、更に名前も好きな名前でOKです。必要なのはDocumentsフォルダの中に作成するという事です。私の場合、Documentsフォルダの中に更にserver1server2server3と作っていますが、これは バーチャルホストを設定するために一段深くなっています。)

さらに、ロックフォルダも作成します。ロックファイルは自分がファイルを開いている時に、他人がファイルを変更しないようにロックするためのもの。
このフォルダ作成はこの時点ではあくまで、この位置に作成するという仮定の話で、実際に作成するのはターミナル上でこの後で作成しますので、この時点で自分では直接フォルダを作成しないでください。(フォルダのアクセス権などの設定はターミナル上でしかできない為です)

それでは始めましょう、httppd.confの一番下に以下の内容を追加記述します。(open-dav用とclose-dav用の2つ作成)
*******************************
DAVLockDB /Library/WebServer/lock/DAVLockDAVMInTimeout 600DAV OnAllowOverride NoneOptions None DAVLockDB /Library/WebServer/lock/DAVLockDAVMInTimeout 600DAV OnAllowOverride NoneOptions None*******************************
以下が実際に追加記述した状態です。


更にServer Nameを設定する
最後に #ServerName(実際にはこのように記述されている→#ServerName new.host.name) と書かれた場所を探し  # を消して ServerName <自分のアドレス>と入力。


LAN-ローカルエリア上(自分の家の中)で運用テストを行う場合は ServerName 192.168.0.100 のように自分のサーバーのIPアドレスを最後に入れる。 インタネットに公開する時は自分の正式のアドレス(polo-web.com)というドメイン名をこのアドレスのところに入れる。(最初から正式のアドレスがあるならそれを最初から使ってもいいのです)
これでhttppd.confファイルの設定終了、今まで変更したhttppd.confファイルを保存する

 
httppd.conf
ファイルをhttpdフォルダに入れて上書きする(修正前の元のデータはコピーしてわかるとこに置いておくとトラブルがあった場合元の状態に戻す事が出来る) ダイアログで「httpdは変更できないので移動出来ません」と出るので、認証をクリック→置き換える→パスウワードを入力、これで置き換わります。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

WebDAV用のフォルダを作成(いよいよターミナルの起動である)
WebDAV用のLockフォルダ、およびデータ保管用のフォルダ(open-dav用とclose-dav用)を作成する。 (※もちろんデータ保管用のフォルダは一つでもかまいません。)
フォルダの所有権を変更する必要があるのでこの後はターミナルで作業を行う。 ターミナルはアプリケーションフォルダの中のユーテリティフォルダの中にあります。
下がターミナルを起動した最初の画面です。
この作業はシステムの設定を変更するものではありません。フォルダを新しく作成するだけですので安心して下さい。ターミナルでの入力で失敗したときはフォルダが指定の場所に出来ていますのでそのフォルダをゴミ箱に捨てて、最初からやり直した方がうまくいきます。それでは始めましょう。



ターミナルでは上記のような感じで最初に表示されるので $ のあとに以下の項目をそれぞれ入力する
(グリン色表示のところは自分のコンピュータ設定によって表示が違います。赤字のところが今回自分で入力する所です。)
最初に$の後に cd /Library/WebServer と入力してエンターキーを押す(以下同じ様に入力後はエンターキーを押す)
IntelMac-Mini:/Library/WebServer funatsukazuo$ と返されるので  更に mkdir lock と入力
IntelMac-Mini:/Library/WebServer funatsukazuo$ と返されるので   更に sudo chown www:www lock ←これはlockフォルダの所有権とグループをApacheに変更
Password:
と返されるのでパスワードを入れる(この時、パスワードが入ってないような動作をする(何の反応もしない)がちゃんと入っているのでreturnを押してそのまま続ける)(パスワードはサーバーの管理者のパスワードです。これによって所有権とグループを変更する事が出来る訳です)
IntelMac-Mini:/Library/WebServer funatsukazuo$  と返されるので  更に cd Documents/server1
IntelMac-Mini:/Library/WebServer/Documents/server1 funatsukazuo$  と返されるので  更に mkdir open-dav
IIntelMac-Mini:/Library/WebServer/Documents/server1 funatsukazuo$ と返されるので  sudo chown www:www open-dav ←これはopen-davフォルダの所有権とグループをApacheに変更
IntelMac-Mini:/Library/WebServer/Documents/server1 funatsukazuo$ となる。 これでopen-davフォルダの設定入力は終了だがclose-davも続けて設定するため更に mkdir close-dav と入力。
IIntelMac-Mini:/Library/WebServer/Documents/server1 funatsukazuo$  と返されるので続けて同じように sudo chown www:www close-dav
IIntelMac-Mini:/Library/WebServer/Documents/server1 funatsukazuo$  と返されるので最後にexitと入力してリターンで終わりです。
以上の設定でリターンしたとき違うように返ってきたときは、どこかの設定か入力が間違っています。最初から見直して下さい。下の図がその実際の入力です。


WebServerフォルダの中に新しくlockフォルダが更にDocumentsフォルダの中にはopen-davフォルダとclose-davフォルダが出来ているので確認してみて下さい。


open-davフォルダとclose-davフォルダの情報を見るで見てみると下図のようになっている。


パーソナルWeb共有を開始
システムの共有で パーソナルWeb共有 をONにする



これでWebDAVサーバーが稼働する。
もしパーソナルWeb共有がONの状態なら一度「停止」にして「開始」を、つまり再起動して今までの設定を読み込みし直します。
以上でWebDAVサーバーの基本設定は終了です。 ーーー
Transmit3
Mac用のFTPソフトです(発売元:アクト・ツー、http://www.act2.com/products/transmit/ )6,090円
本に書いたあった設定方法を書いています。(実際には試していません) サーバー欄にサーバーのアドレスを入力→ (192.168.0.100又はhttp://polo-web.comなど)
ユーザー名/パスワードは空欄にしておく
ディレクトリ欄には  /<WebDAVフォルダ名> を指定→(今回の場合open-dav)
プロトコルは WebDAV を指定する

初期設定のままだと日本語表示に難があるので
表示→テキストエンコーディング→Unicode(UTF-8)に変更しておくと正しく表示する場合がある
MacOS9からWebDAVへ接続
MacOS9はWebDAVへのアクセス機能を持っていない。「Goliath」というソフトを使えばアクセスが可能。フリーのソフトです。

ダウンロード先http://park.zero.ad.jp/pautha/Goliath.html
以前はフォルダを扱う事ができなかったが最新バージョンはフォルダを扱う事ができる。日本語は文字化けをする。 「Goliath」を立ち上げるとURLを入力する欄がでるのでhttp://polo-web.com/open-davなど指定のDAV用のURLを入力すればOK




WindowsXPからWebDAVへ接続
マイネットワークを開く ネットワークプレースを追加するをクリック



追加ウイザードが表示される。




下図の追加ウイザードでこのネットワークプレースを作成する場所を指定してください→インタネットまたはナットワークのアドレス→http://<アドレス>/<WebDAVのフォルダ名> ここのDAVフォルダへのアクセスはhttp://polo-web.com/open-davです。



次へ→このネットワークプレースの名前〜で適当な分かりやすい名前を入力して→接続 このホームページが見れる状態の時はWebDAVもONの状態ですので、このアドレスに試しにアクセスしてみませんか?
WebDAVサーバーでの認証機能をつける
FTP等で一般的に使われているベーシック認証でやってみましょう。 他には、パスワードの伝送ダータを暗号化してやりとりするダイジェスト認証があります。 尚、Windows XP PS2以降ではベーシック認証でのWebDav接続ができない仕様に変更されていると本には書いてある。(未確認)
httpd.confファイルを編集する
移動→フォルダの場所を入力で以下の様に/etc/httpd/と入力

server1/close-davDAVフォルダのみに認証機能をつける。 下は認証機能を付けていない状態です。この赤枠のところを修正します。

ーーーーーーーーーーーーーーーーーーーーーーーー
DAVLockDB /Library/WebServer/lock/DAVLockDAVMInTimeout 600DAV OnAllowOverride NoneOptions NoneAuthType BasicAuthName homeserverAuthUserFile /Library/WebServer/.htpasswdrequire valid-user
ーーーーーーーーーーーーーーーーーーーーーーーー
下図はその修正を実際にした所です

修正が済んだら保存してetchttpdフォルダに上書き保存する 下記の様にhttpd.confファイルを上書き保存する前に、今までうまく動いていたファイルをコピーして保しておくとうまく作動しなかった場合元に戻すことができる。


ターミナルを起動してパスワードファイルを作成する
cd /Library/Webserver と入力リターン MacMIni:/Library/Webserver funatsukazuo$   とくるので  htpasswd -c .htpasswd funatsukazuo  リターン New password:   とくるので 設定したいパスワード を入力 Re-type new password: とくるので  同じパスワードを再度入力

ここで指定したユーザー名とパスワードはWebDAVサーバーへアクセスする際,必要になるのでメモをしておきましょう。また再度パスワードを設定し直したいときは、この方法をもう一度やりなおせば設定し直す事ができます。 後はシステム環境設定→共有→パーソナルWeb共有を一度OFFにしてもう一度ONにするという再起動を行う事。これをしないとターミナルで設定した事が生きてきません。
WebDAVサーバーへ接続して見よう
Finderメニューから移動→サーバへ接続を選ぶ http://<アドレス>/WebDAVのフォルダ名> と入力 サーバーのIPアドレスが192.168.0.100WebDAVフォルダ名がclose-davだから http://192.168.0.100/close-dav(またはhttp://polo-web.com/close-dav )となる 外部のインターネット経由でアクセスするにはサーバーへ接続から http://polo-web.com/close-davとなる。 MacOS9WindowsXPの接続方法は最初に説明したとうりです。 サファリなどのWebプラウザから接続できません。 認証ダイアログが出るので先ほどターミナルで設定してメモしたユーザ名とパスワードを入力

これでclose-davサーバへ接続できるようになります。